// 引入库
import React, { Component } from 'react';
import {
  // BrowserRouter as Router,
  Router,
  Route,
  Switch,
  // Redirect,
} from 'react-router-dom';
// 替换掉BrowserRouter，使用Router + history的方式自行绑定Router和history
// BrowserRouter组件  等价于 Router组件+ history
import history from 'utils/history';

import Layout from 'pages/Layout';
import Login from 'pages/Login';
import AutoRoute from './components/AutoRoute';

import TestPage from 'pages/TestPage';

export default class App extends Component {
  render() {
    return (
      // <Router>
      // 🔔 history作为组件属性设置在Router身上
      <Router history={history}>
        <Switch>
          {/* Redirect重定向 */}
          {/* <Redirect from="/" to={'/layout'} exact></Redirect> */}
          <Route path={'/login'} component={Login}></Route>

          {/* 创建一个测试路由和测试页 */}
          <Route path={'/test'} component={TestPage}></Route>

          {/* 修改路由 path={'/'}才会进入Layout组件 */}
          {/* <Route path={'/'} component={Layout}></Route> */}

          {/*路由改造 鉴权 */}
          {/* <Route
            path={'/'}
            render={(props) => {
              // console.log(props);
              // if (!!getToken())  !! 表示强制转换
              if (getToken()) {
                return <Layout {...props}></Layout>;
              }
              props.history.push('/login');
              // return <Login {...props}></Login>
            }}
          ></Route> */}

          {/* 自定义组件 鉴权*/}
          <AutoRoute path="/" component={Layout}></AutoRoute>
        </Switch>
      </Router>
    );
  }
}
